package cn.sanch.org.domain;

import cn.sanch.basic.domain.BaseDomain;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

@Data
public class Department extends BaseDomain {

  /**
   * 部门编号
   */
  private String sn;
  /**
   * 部门名称
   */
  private String name;
  /**
   * 部门路径
   */
  private String dirPath;
  /**
   * 部门状态
   */
  private Long state;
  /**
   * 部门经理的ID
   */
  private Long manager_id;
  /**
   * 上级部门的ID
   */
  private Long parent_id;

  /**
   * 部门经理对象
   */
  private Employee manager;

  /**
   * 上级部门的对象
   */
  private Department parent;

  /**
   * 部门子部门集合
   *
   * JsonInclude(JsonInclude.Include.NON_EMPTY) 部门树最后一级没有数据就不显示
   */
  @JsonInclude(JsonInclude.Include.NON_EMPTY)
  private List<Department> children = new ArrayList<Department>();

}
